/*
    页面名称：员工 -图书信息
    作者: 苗怀雨
    时间:2017年12月31日
    最后编辑：2018-1-5 12:06:40
*/

var bookId = $("#bookId").text();
var bookName = $("#bookName").text();
var pageNum = 1;
$(document).ready(function() {
    /*点赞评论*/
    $(".message_date").children(".date").children("a").attr("onclick","onclickPraise(this)");

    /*返回按钮*/
    $("button.btn-info").click(function () {
        goLastFormPage();
    });

    var $messageElements = $("ul.messages").children("li");
    var evaluateId;

    for(var i = 0;i < $messageElements.length;++i){
        evaluateId = $messageElements.eq(i).children("div.evaluateId").text();
        if(checkEvaluateIdExists(evaluateId)){
            $messageElements.eq(i).find(".praise").children("i").attr("class","fa fa-thumbs-up");
        }
    }

    var $collection = $("#collection");     //收藏夹
    if(checkBookCollectionExists(bookId)){  //在收藏夹中
        $collection.text("取消收藏");
        $collection.attr("onclick","removeLikeBook(" + bookId +")");
    }else{
        $collection.text("收藏");
        $collection.attr("onclick","likeBook(" + bookId +")");
    }

    $("#moreEvalue").attr("onclick",' getMoreEvaluates()');
});

/* 借阅图书按钮 弹出借阅图书提示框*/
function borrowBookInfo(){
    var $modal = $(".bs-example-modal-bb");
    $("h4",$modal).eq(1).text("确认借阅图书:"+ bookName);       //设置标题名称
    $(".btn-primary",$modal).attr("onclick","borrowBook("+bookId+");");  //设置确定按钮
}

//借阅图书
function borrowBook(bookId) {
    var $modal = $(".bs-example-modal-bb");
    var $closeButton = $("button",$modal).eq(1);        //弹出框关闭按钮
    var $ensureButton = $("button",$modal).eq(2);       //弹出框确定按钮

    $ensureButton.attr("disabled","disabled"); //设置编辑确定按钮暂时不可用
    post("borrowBook","bookId",bookId);
}

/*点赞*/
function onclickPraise(e) {
    var $this = $(e);
    var evaluateId = $this.parents("div.message_date").siblings("div.evaluateId").text();
    var type;

    if($this.children("i").hasClass("fa-thumbs-o-up")){
        $this.children("i").removeClass("fa-thumbs-o-up");
        $this.children("i").addClass("fa-thumbs-up");

        var number = parseInt($this.siblings("span.praiseNumber").text());
        $this.siblings("span.praiseNumber").text(number + 1);

        type = 0;
    }else{
        $this.children("i").removeClass("fa-thumbs-up");
        $this.children("i").addClass("fa-thumbs-o-up");

        var number = parseInt($this.siblings("span.praiseNumber").text());
        $this.siblings("span.praiseNumber").text(number - 1);

        type = 1;
    }
    /*点赞评论*/
    $(".message_date").children(".date").children("a").removeAttr("onclick");
    $.ajax({
        type:'POST',//请求类型
        url:'praiseEvaluate',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
            "evaluateId":evaluateId,
            "type":type
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        success:function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
            if(json.result == false){
                createPNotify("提示信息","error",json.err_msg);
            }else{
                $(".message_date").children(".date").children("a").attr("onclick","onclickPraise(this)");
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
        },
        fail:function () { //如果在传输过程失败了：调用fail中对应的匿名函数(可选)
        },
        cache:true,
    });

}

/*举报*/
function forbiddenEvaluateInfo(e){
    var $this = $(e);
    var $modal = $(".bs-example-modal-fb");
    var evaluateId = $this.siblings("div.evaluateId").text();

    $("h4",$modal).eq(1).text("确认举报?");       //设置标题名称
    $(".btn-primary",$modal).unbind("click");
    $(".btn-primary",$modal).click(function () {
        forbiddenEvaluate($this,evaluateId);
    });
}

/*举报*/
function forbiddenEvaluate(e,evaluateId){
    var $modal = $(".bs-example-modal-fb");
    var $closeButton = $("button",$modal).eq(1);        //弹出框关闭按钮
    var $ensureButton = $("button",$modal).eq(2);       //弹出框确定按钮
    var $this = $(e);

    $ensureButton.removeAttr("disabled"); //设置编辑确定按钮可用
    $closeButton.trigger("click");  //关闭弹出框


    /*举报评论*/
    $.ajax({
        type:'POST',//请求类型
        url:'forbiddenEvaluate',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
            "evaluateId":evaluateId,
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        success:function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
            if(json.result == false){
                createPNotify("提示信息","error",json.err_msg);
            }else{
                $this.after($('	<span class="label label-default">已举报</span>'));
                $this.remove();
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
        },
        fail:function () { //如果在传输过程失败了：调用fail中对应的匿名函数(可选)
        },
        cache:true,
    });
}

/*查看更多评论*/
function getMoreEvaluates() {
    var $message = $("ul.messages");
    var currentMeslength = $message.children("li").length;
    var $liObj = $("#evaluateModel").children("li").clone();

    $("#moreEvalue").removeAttr("onclick");
    $.ajax({
        type:'POST',//请求类型
        url:'getEvaluate',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
            "bookId":bookId,
            "pageNum":++pageNum
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        success:function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
            if(json.result == false){
                createPNotify("提示信息","error",json.err_msg);
            }else{
                if(json.data.evaluates.length == 0){
                    $("#moreEvalue").text("没有更多了");
                    $("#moreEvalue").removeAttr("onclick");
                } else{
                    var evaluates = json.data.evaluates
                    for(var i = 0; i < evaluates.length;++i){
                        $liObj.children(".evaluateId").text(evaluates[i].evaluateId);
                        $liObj.children(".message_date").find(".praiseNumber").text(evaluates[i].praise);
                        $liObj.children(".message_date").find(".month").text(evaluates[i].date);
                        $liObj.children(".message_wrapper").children(".heading").text(evaluates[i].staff);
                        $liObj.children(".message_wrapper").children(".message").text(evaluates[i].description);

                        var $gradeObj = $liObj.children(".message_wrapper").children(".url");
                        for(var j = 0;j < evaluates[i].grade;++i){
                            $gradeObj.append($("<i class='fa fa-star'></i>"));
                        }
                        $gradeObj.append(evaluates[i].grade + "分");
                        $message.append($liObj.clone());
                    }
                    $("#moreEvalue").attr("onclick",' getMoreEvaluates()');
                    pageNum = json.data.pageNum;
                }
            }
        },
        cache:true,
    });
}

//收藏图书
function likeBook(bookId) {
    var $collection = $("#collection");
    $collection.removeAttr("onclick");

    /*收藏图书*/
    $.ajax({
        type:'POST',//请求类型
        url:'likeBook',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
            "bookId":bookId,
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        success:function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
            if(json.result == false){
                createPNotify("提示信息","error",json.err_msg);
            }else{
                $collection.text("取消收藏")
                $collection.attr("onclick","removeLikeBook("+ bookId +")");
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
        },
        fail:function () { //如果在传输过程失败了：调用fail中对应的匿名函数(可选)
        },
        cache:true,
    });

    /*更新推荐*/
    /*基于用户的协同过滤*/
    updateUserRecommendation(bookId);
    /*基于物品的协同过滤*/
    updateBookRecommendation();
}

//取消收藏图书
function removeLikeBook(bookId) {
    var $collection = $("#collection");
    $collection.removeAttr("onclick");

    /*取消收藏图书*/
    $.ajax({
        type:'POST',//请求类型
        url:'removeLikeBook',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
            "bookId":bookId,
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        success:function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
            if(json.result == false){
                createPNotify("提示信息","error",json.err_msg);
            }else{
                $collection.text("收藏")
                $collection.attr("onclick","likeBook("+ bookId +")");
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
        },
        fail:function () { //如果在传输过程失败了：调用fail中对应的匿名函数(可选)
        },
        cache:true,
    });
}